#include "client.h"

void handle_ls(ClientInfo* client, int argc, char* argv[]) {
    Message msg;
    msg.type = MSG_TYPE_LS;
    msg.length = 0;
    if (argc > 1) {
        // ??? 这里默认最多argc == 2
        msg.length = snprintf(msg.data, sizeof(msg.data), "%s", argv[1]);
    }

    if (send_message(client->socket, &msg) < 0) {
        perror("发送ls命令失败");
        return;
    }

    if (receive_message(client->socket, &msg) < 0) {
        perror("接收ls命令响应失败");
        return;
    }

    if (msg.type == MSG_TYPE_SUCCESS) {
        printf("%s\n", msg.data);
    } else {
        printf("ls命令执行失败: %s\n", msg.data);
    }
}